In serial data transmission, a receiver/transmitter circuit is used for conversion between internal parallel data and external serial data. Specifically, based on the sampling theorem, the transmitter takes the parallel data, realizing parallel-to-serial conversion, sends individual bits through a transmission medium. Since there is no shared clock signal between the transmitter and the receiver for data synchronization, the receiver has to recover a clock signal from the received serial data stream. And the Clock and Data Recovery (CDR) circuit is responsible for extracting and recovering clock and data from the serial data. A post-stage serial-to-parallel circuit converts the recovered data into parallel data, and can realize byte synchronization by determining a characteristic pattern of the input serial data.
Currently, there are two basic types of CDR circuits. One is based on phase-locked loop (PLL). A PLL-based CDR circuit aligns the clock edge on the receiving side with the data edge detected from the serial data by a feedback loop, extracts a clock according to the detected data edge, and recovers data by sampling the data using the extracted clock. This type of CDR circuits must guarantee the stability of the closed-loop behavior, thus resulting in high complexity; moreover, the closed-loop structure is not suitable for high-speed situations. The other is burst mode CDR. Generally, a burst mode CDR circuit extracts and recovers a clock from the serial data by using a gated voltage-controlled oscillator at the edges of the serial data. The burst mode CDR circuit has an open-loop structure, and thus is simpler and more suitable for high-speed situations as compared with the PLL-based one. However, the burst mode CDR circuit extracts a clock at each occurrence of the edge of the serial data; hence, its performance is heavily dependent on the serial data. When the jitter of the serial data is high, the jitter of the recovered clock will be high; and in some cases, this may cause faults in the recovered clock, and bit errors.